腾讯csig一面面经

自我介绍，找一个项目介绍一下？ 
项目中对抗和筹划如何体现的？通信效果不好如何调整？ 
实验室方向比较偏，感觉面试官对项目不是很感兴趣，所以没怎么细问。 

八股： 
1. 我看你简历上写的熟悉C++，有看过什么源码吗？ 
回答说看过STL源码剖析的一些源码 
2. 智能指针源码看过吗？ 
源码没看过，知道些原理，然后介绍了4种智能指针的简单原理。。 
3. 类内成员函数，重载、重写和覆盖的区别？ 
4. new一段内存后，delete之后，再new，这段内存空间的值如何变换？ 
5. malloc后，内存如何组织的？ 
6. 栈和堆的区别？ 
7. 进程和线程的区别？ 
8. TCP三次握手四次挥手？ 
9. 2msl介绍下，为什么要2msl？ 
10. time_wait在哪一端？ 
11. 滑动窗口了解吗，介绍下？ 
12. 目的端有个序号的包没收到，滑动窗口的操作是什么？ 
13. TCP半连接队列介绍下？ 
14. http了解么，介绍下？ 
15. 平时开发用的数据库一般是什么，Mysql引擎了解么？ 
16. innodb 和 myisam的区别？ 
17. Mysql的索引介绍下？ 
18.我看你方向做计算机网络的， unix网络编程了解吗？（不太了解。。。） 

算法： 
1.给一个数组以及一个M,求子序列乘积小于M的最大长度？ 
很简单，滑动窗口秒了。 

2.给一个正整数N,将整数N分成M个正整数，M是一个不确定的数，M个数累加小于N，求这M个数的约数和的最大值。 
想半天没想出来，面试官提醒用背包思想。出这道题之前面试官问动态规划熟悉么，我说还行，最后来这么个题，瞬间傻了。。。 

反问： 
1、您这边主要做什么业务的呢？ 
腾讯云，语音识别和语音合成（感觉不是很对口。。） 
2、语音识别？有涉及到机器学习nlp之类的东西吗？ 
没有，主要是做工程。 
3、面试答的问题的不足？ 
需要深入了解下底层原理。。。感觉动态内存分配那块没讲好。
